package edu.whut.mall.model;

import java.util.ArrayList;
import java.util.Date;
import java.util.List;

public class MerchantExample {
    protected String orderByClause;

    protected boolean distinct;

    protected List<Criteria> oredCriteria;

    public MerchantExample() {
        oredCriteria = new ArrayList<Criteria>();
    }

    public void setOrderByClause(String orderByClause) {
        this.orderByClause = orderByClause;
    }

    public String getOrderByClause() {
        return orderByClause;
    }

    public void setDistinct(boolean distinct) {
        this.distinct = distinct;
    }

    public boolean isDistinct() {
        return distinct;
    }

    public List<Criteria> getOredCriteria() {
        return oredCriteria;
    }

    public void or(Criteria criteria) {
        oredCriteria.add(criteria);
    }

    public Criteria or() {
        Criteria criteria = createCriteriaInternal();
        oredCriteria.add(criteria);
        return criteria;
    }

    public Criteria createCriteria() {
        Criteria criteria = createCriteriaInternal();
        if (oredCriteria.size() == 0) {
            oredCriteria.add(criteria);
        }
        return criteria;
    }

    protected Criteria createCriteriaInternal() {
        Criteria criteria = new Criteria();
        return criteria;
    }

    public void clear() {
        oredCriteria.clear();
        orderByClause = null;
        distinct = false;
    }

    protected abstract static class GeneratedCriteria {
        protected List<Criterion> criteria;

        protected GeneratedCriteria() {
            super();
            criteria = new ArrayList<Criterion>();
        }

        public boolean isValid() {
            return criteria.size() > 0;
        }

        public List<Criterion> getAllCriteria() {
            return criteria;
        }

        public List<Criterion> getCriteria() {
            return criteria;
        }

        protected void addCriterion(String condition) {
            if (condition == null) {
                throw new RuntimeException("Value for condition cannot be null");
            }
            criteria.add(new Criterion(condition));
        }

        protected void addCriterion(String condition, Object value, String property) {
            if (value == null) {
                throw new RuntimeException("Value for " + property + " cannot be null");
            }
            criteria.add(new Criterion(condition, value));
        }

        protected void addCriterion(String condition, Object value1, Object value2, String property) {
            if (value1 == null || value2 == null) {
                throw new RuntimeException("Between values for " + property + " cannot be null");
            }
            criteria.add(new Criterion(condition, value1, value2));
        }

        public Criteria andIdIsNull() {
            addCriterion("id is null");
            return (Criteria) this;
        }

        public Criteria andIdIsNotNull() {
            addCriterion("id is not null");
            return (Criteria) this;
        }

        public Criteria andIdEqualTo(Long value) {
            addCriterion("id =", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdNotEqualTo(Long value) {
            addCriterion("id <>", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdGreaterThan(Long value) {
            addCriterion("id >", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdGreaterThanOrEqualTo(Long value) {
            addCriterion("id >=", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdLessThan(Long value) {
            addCriterion("id <", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdLessThanOrEqualTo(Long value) {
            addCriterion("id <=", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdIn(List<Long> values) {
            addCriterion("id in", values, "id");
            return (Criteria) this;
        }

        public Criteria andIdNotIn(List<Long> values) {
            addCriterion("id not in", values, "id");
            return (Criteria) this;
        }

        public Criteria andIdBetween(Long value1, Long value2) {
            addCriterion("id between", value1, value2, "id");
            return (Criteria) this;
        }

        public Criteria andIdNotBetween(Long value1, Long value2) {
            addCriterion("id not between", value1, value2, "id");
            return (Criteria) this;
        }

        public Criteria andMerchantNameIsNull() {
            addCriterion("merchant_name is null");
            return (Criteria) this;
        }

        public Criteria andMerchantNameIsNotNull() {
            addCriterion("merchant_name is not null");
            return (Criteria) this;
        }

        public Criteria andMerchantNameEqualTo(String value) {
            addCriterion("merchant_name =", value, "merchantName");
            return (Criteria) this;
        }

        public Criteria andMerchantNameNotEqualTo(String value) {
            addCriterion("merchant_name <>", value, "merchantName");
            return (Criteria) this;
        }

        public Criteria andMerchantNameGreaterThan(String value) {
            addCriterion("merchant_name >", value, "merchantName");
            return (Criteria) this;
        }

        public Criteria andMerchantNameGreaterThanOrEqualTo(String value) {
            addCriterion("merchant_name >=", value, "merchantName");
            return (Criteria) this;
        }

        public Criteria andMerchantNameLessThan(String value) {
            addCriterion("merchant_name <", value, "merchantName");
            return (Criteria) this;
        }

        public Criteria andMerchantNameLessThanOrEqualTo(String value) {
            addCriterion("merchant_name <=", value, "merchantName");
            return (Criteria) this;
        }

        public Criteria andMerchantNameLike(String value) {
            addCriterion("merchant_name like", value, "merchantName");
            return (Criteria) this;
        }

        public Criteria andMerchantNameNotLike(String value) {
            addCriterion("merchant_name not like", value, "merchantName");
            return (Criteria) this;
        }

        public Criteria andMerchantNameIn(List<String> values) {
            addCriterion("merchant_name in", values, "merchantName");
            return (Criteria) this;
        }

        public Criteria andMerchantNameNotIn(List<String> values) {
            addCriterion("merchant_name not in", values, "merchantName");
            return (Criteria) this;
        }

        public Criteria andMerchantNameBetween(String value1, String value2) {
            addCriterion("merchant_name between", value1, value2, "merchantName");
            return (Criteria) this;
        }

        public Criteria andMerchantNameNotBetween(String value1, String value2) {
            addCriterion("merchant_name not between", value1, value2, "merchantName");
            return (Criteria) this;
        }

        public Criteria andMerchantLogoIsNull() {
            addCriterion("merchant_logo is null");
            return (Criteria) this;
        }

        public Criteria andMerchantLogoIsNotNull() {
            addCriterion("merchant_logo is not null");
            return (Criteria) this;
        }

        public Criteria andMerchantLogoEqualTo(String value) {
            addCriterion("merchant_logo =", value, "merchantLogo");
            return (Criteria) this;
        }

        public Criteria andMerchantLogoNotEqualTo(String value) {
            addCriterion("merchant_logo <>", value, "merchantLogo");
            return (Criteria) this;
        }

        public Criteria andMerchantLogoGreaterThan(String value) {
            addCriterion("merchant_logo >", value, "merchantLogo");
            return (Criteria) this;
        }

        public Criteria andMerchantLogoGreaterThanOrEqualTo(String value) {
            addCriterion("merchant_logo >=", value, "merchantLogo");
            return (Criteria) this;
        }

        public Criteria andMerchantLogoLessThan(String value) {
            addCriterion("merchant_logo <", value, "merchantLogo");
            return (Criteria) this;
        }

        public Criteria andMerchantLogoLessThanOrEqualTo(String value) {
            addCriterion("merchant_logo <=", value, "merchantLogo");
            return (Criteria) this;
        }

        public Criteria andMerchantLogoLike(String value) {
            addCriterion("merchant_logo like", value, "merchantLogo");
            return (Criteria) this;
        }

        public Criteria andMerchantLogoNotLike(String value) {
            addCriterion("merchant_logo not like", value, "merchantLogo");
            return (Criteria) this;
        }

        public Criteria andMerchantLogoIn(List<String> values) {
            addCriterion("merchant_logo in", values, "merchantLogo");
            return (Criteria) this;
        }

        public Criteria andMerchantLogoNotIn(List<String> values) {
            addCriterion("merchant_logo not in", values, "merchantLogo");
            return (Criteria) this;
        }

        public Criteria andMerchantLogoBetween(String value1, String value2) {
            addCriterion("merchant_logo between", value1, value2, "merchantLogo");
            return (Criteria) this;
        }

        public Criteria andMerchantLogoNotBetween(String value1, String value2) {
            addCriterion("merchant_logo not between", value1, value2, "merchantLogo");
            return (Criteria) this;
        }

        public Criteria andMerchantIntroductionIsNull() {
            addCriterion("merchant_introduction is null");
            return (Criteria) this;
        }

        public Criteria andMerchantIntroductionIsNotNull() {
            addCriterion("merchant_introduction is not null");
            return (Criteria) this;
        }

        public Criteria andMerchantIntroductionEqualTo(String value) {
            addCriterion("merchant_introduction =", value, "merchantIntroduction");
            return (Criteria) this;
        }

        public Criteria andMerchantIntroductionNotEqualTo(String value) {
            addCriterion("merchant_introduction <>", value, "merchantIntroduction");
            return (Criteria) this;
        }

        public Criteria andMerchantIntroductionGreaterThan(String value) {
            addCriterion("merchant_introduction >", value, "merchantIntroduction");
            return (Criteria) this;
        }

        public Criteria andMerchantIntroductionGreaterThanOrEqualTo(String value) {
            addCriterion("merchant_introduction >=", value, "merchantIntroduction");
            return (Criteria) this;
        }

        public Criteria andMerchantIntroductionLessThan(String value) {
            addCriterion("merchant_introduction <", value, "merchantIntroduction");
            return (Criteria) this;
        }

        public Criteria andMerchantIntroductionLessThanOrEqualTo(String value) {
            addCriterion("merchant_introduction <=", value, "merchantIntroduction");
            return (Criteria) this;
        }

        public Criteria andMerchantIntroductionLike(String value) {
            addCriterion("merchant_introduction like", value, "merchantIntroduction");
            return (Criteria) this;
        }

        public Criteria andMerchantIntroductionNotLike(String value) {
            addCriterion("merchant_introduction not like", value, "merchantIntroduction");
            return (Criteria) this;
        }

        public Criteria andMerchantIntroductionIn(List<String> values) {
            addCriterion("merchant_introduction in", values, "merchantIntroduction");
            return (Criteria) this;
        }

        public Criteria andMerchantIntroductionNotIn(List<String> values) {
            addCriterion("merchant_introduction not in", values, "merchantIntroduction");
            return (Criteria) this;
        }

        public Criteria andMerchantIntroductionBetween(String value1, String value2) {
            addCriterion("merchant_introduction between", value1, value2, "merchantIntroduction");
            return (Criteria) this;
        }

        public Criteria andMerchantIntroductionNotBetween(String value1, String value2) {
            addCriterion("merchant_introduction not between", value1, value2, "merchantIntroduction");
            return (Criteria) this;
        }

        public Criteria andMerchantAddressIsNull() {
            addCriterion("merchant_address is null");
            return (Criteria) this;
        }

        public Criteria andMerchantAddressIsNotNull() {
            addCriterion("merchant_address is not null");
            return (Criteria) this;
        }

        public Criteria andMerchantAddressEqualTo(String value) {
            addCriterion("merchant_address =", value, "merchantAddress");
            return (Criteria) this;
        }

        public Criteria andMerchantAddressNotEqualTo(String value) {
            addCriterion("merchant_address <>", value, "merchantAddress");
            return (Criteria) this;
        }

        public Criteria andMerchantAddressGreaterThan(String value) {
            addCriterion("merchant_address >", value, "merchantAddress");
            return (Criteria) this;
        }

        public Criteria andMerchantAddressGreaterThanOrEqualTo(String value) {
            addCriterion("merchant_address >=", value, "merchantAddress");
            return (Criteria) this;
        }

        public Criteria andMerchantAddressLessThan(String value) {
            addCriterion("merchant_address <", value, "merchantAddress");
            return (Criteria) this;
        }

        public Criteria andMerchantAddressLessThanOrEqualTo(String value) {
            addCriterion("merchant_address <=", value, "merchantAddress");
            return (Criteria) this;
        }

        public Criteria andMerchantAddressLike(String value) {
            addCriterion("merchant_address like", value, "merchantAddress");
            return (Criteria) this;
        }

        public Criteria andMerchantAddressNotLike(String value) {
            addCriterion("merchant_address not like", value, "merchantAddress");
            return (Criteria) this;
        }

        public Criteria andMerchantAddressIn(List<String> values) {
            addCriterion("merchant_address in", values, "merchantAddress");
            return (Criteria) this;
        }

        public Criteria andMerchantAddressNotIn(List<String> values) {
            addCriterion("merchant_address not in", values, "merchantAddress");
            return (Criteria) this;
        }

        public Criteria andMerchantAddressBetween(String value1, String value2) {
            addCriterion("merchant_address between", value1, value2, "merchantAddress");
            return (Criteria) this;
        }

        public Criteria andMerchantAddressNotBetween(String value1, String value2) {
            addCriterion("merchant_address not between", value1, value2, "merchantAddress");
            return (Criteria) this;
        }

        public Criteria andMerchantContactIsNull() {
            addCriterion("merchant_contact is null");
            return (Criteria) this;
        }

        public Criteria andMerchantContactIsNotNull() {
            addCriterion("merchant_contact is not null");
            return (Criteria) this;
        }

        public Criteria andMerchantContactEqualTo(String value) {
            addCriterion("merchant_contact =", value, "merchantContact");
            return (Criteria) this;
        }

        public Criteria andMerchantContactNotEqualTo(String value) {
            addCriterion("merchant_contact <>", value, "merchantContact");
            return (Criteria) this;
        }

        public Criteria andMerchantContactGreaterThan(String value) {
            addCriterion("merchant_contact >", value, "merchantContact");
            return (Criteria) this;
        }

        public Criteria andMerchantContactGreaterThanOrEqualTo(String value) {
            addCriterion("merchant_contact >=", value, "merchantContact");
            return (Criteria) this;
        }

        public Criteria andMerchantContactLessThan(String value) {
            addCriterion("merchant_contact <", value, "merchantContact");
            return (Criteria) this;
        }

        public Criteria andMerchantContactLessThanOrEqualTo(String value) {
            addCriterion("merchant_contact <=", value, "merchantContact");
            return (Criteria) this;
        }

        public Criteria andMerchantContactLike(String value) {
            addCriterion("merchant_contact like", value, "merchantContact");
            return (Criteria) this;
        }

        public Criteria andMerchantContactNotLike(String value) {
            addCriterion("merchant_contact not like", value, "merchantContact");
            return (Criteria) this;
        }

        public Criteria andMerchantContactIn(List<String> values) {
            addCriterion("merchant_contact in", values, "merchantContact");
            return (Criteria) this;
        }

        public Criteria andMerchantContactNotIn(List<String> values) {
            addCriterion("merchant_contact not in", values, "merchantContact");
            return (Criteria) this;
        }

        public Criteria andMerchantContactBetween(String value1, String value2) {
            addCriterion("merchant_contact between", value1, value2, "merchantContact");
            return (Criteria) this;
        }

        public Criteria andMerchantContactNotBetween(String value1, String value2) {
            addCriterion("merchant_contact not between", value1, value2, "merchantContact");
            return (Criteria) this;
        }

        public Criteria andCreateTimeIsNull() {
            addCriterion("create_time is null");
            return (Criteria) this;
        }

        public Criteria andCreateTimeIsNotNull() {
            addCriterion("create_time is not null");
            return (Criteria) this;
        }

        public Criteria andCreateTimeEqualTo(Date value) {
            addCriterion("create_time =", value, "createTime");
            return (Criteria) this;
        }

        public Criteria andCreateTimeNotEqualTo(Date value) {
            addCriterion("create_time <>", value, "createTime");
            return (Criteria) this;
        }

        public Criteria andCreateTimeGreaterThan(Date value) {
            addCriterion("create_time >", value, "createTime");
            return (Criteria) this;
        }

        public Criteria andCreateTimeGreaterThanOrEqualTo(Date value) {
            addCriterion("create_time >=", value, "createTime");
            return (Criteria) this;
        }

        public Criteria andCreateTimeLessThan(Date value) {
            addCriterion("create_time <", value, "createTime");
            return (Criteria) this;
        }

        public Criteria andCreateTimeLessThanOrEqualTo(Date value) {
            addCriterion("create_time <=", value, "createTime");
            return (Criteria) this;
        }

        public Criteria andCreateTimeIn(List<Date> values) {
            addCriterion("create_time in", values, "createTime");
            return (Criteria) this;
        }

        public Criteria andCreateTimeNotIn(List<Date> values) {
            addCriterion("create_time not in", values, "createTime");
            return (Criteria) this;
        }

        public Criteria andCreateTimeBetween(Date value1, Date value2) {
            addCriterion("create_time between", value1, value2, "createTime");
            return (Criteria) this;
        }

        public Criteria andCreateTimeNotBetween(Date value1, Date value2) {
            addCriterion("create_time not between", value1, value2, "createTime");
            return (Criteria) this;
        }

        public Criteria andUpdateTimeIsNull() {
            addCriterion("update_time is null");
            return (Criteria) this;
        }

        public Criteria andUpdateTimeIsNotNull() {
            addCriterion("update_time is not null");
            return (Criteria) this;
        }

        public Criteria andUpdateTimeEqualTo(Date value) {
            addCriterion("update_time =", value, "updateTime");
            return (Criteria) this;
        }

        public Criteria andUpdateTimeNotEqualTo(Date value) {
            addCriterion("update_time <>", value, "updateTime");
            return (Criteria) this;
        }

        public Criteria andUpdateTimeGreaterThan(Date value) {
            addCriterion("update_time >", value, "updateTime");
            return (Criteria) this;
        }

        public Criteria andUpdateTimeGreaterThanOrEqualTo(Date value) {
            addCriterion("update_time >=", value, "updateTime");
            return (Criteria) this;
        }

        public Criteria andUpdateTimeLessThan(Date value) {
            addCriterion("update_time <", value, "updateTime");
            return (Criteria) this;
        }

        public Criteria andUpdateTimeLessThanOrEqualTo(Date value) {
            addCriterion("update_time <=", value, "updateTime");
            return (Criteria) this;
        }

        public Criteria andUpdateTimeIn(List<Date> values) {
            addCriterion("update_time in", values, "updateTime");
            return (Criteria) this;
        }

        public Criteria andUpdateTimeNotIn(List<Date> values) {
            addCriterion("update_time not in", values, "updateTime");
            return (Criteria) this;
        }

        public Criteria andUpdateTimeBetween(Date value1, Date value2) {
            addCriterion("update_time between", value1, value2, "updateTime");
            return (Criteria) this;
        }

        public Criteria andUpdateTimeNotBetween(Date value1, Date value2) {
            addCriterion("update_time not between", value1, value2, "updateTime");
            return (Criteria) this;
        }

        public Criteria andLegalPersonIsNull() {
            addCriterion("legal_person is null");
            return (Criteria) this;
        }

        public Criteria andLegalPersonIsNotNull() {
            addCriterion("legal_person is not null");
            return (Criteria) this;
        }

        public Criteria andLegalPersonEqualTo(String value) {
            addCriterion("legal_person =", value, "legalPerson");
            return (Criteria) this;
        }

        public Criteria andLegalPersonNotEqualTo(String value) {
            addCriterion("legal_person <>", value, "legalPerson");
            return (Criteria) this;
        }

        public Criteria andLegalPersonGreaterThan(String value) {
            addCriterion("legal_person >", value, "legalPerson");
            return (Criteria) this;
        }

        public Criteria andLegalPersonGreaterThanOrEqualTo(String value) {
            addCriterion("legal_person >=", value, "legalPerson");
            return (Criteria) this;
        }

        public Criteria andLegalPersonLessThan(String value) {
            addCriterion("legal_person <", value, "legalPerson");
            return (Criteria) this;
        }

        public Criteria andLegalPersonLessThanOrEqualTo(String value) {
            addCriterion("legal_person <=", value, "legalPerson");
            return (Criteria) this;
        }

        public Criteria andLegalPersonLike(String value) {
            addCriterion("legal_person like", value, "legalPerson");
            return (Criteria) this;
        }

        public Criteria andLegalPersonNotLike(String value) {
            addCriterion("legal_person not like", value, "legalPerson");
            return (Criteria) this;
        }

        public Criteria andLegalPersonIn(List<String> values) {
            addCriterion("legal_person in", values, "legalPerson");
            return (Criteria) this;
        }

        public Criteria andLegalPersonNotIn(List<String> values) {
            addCriterion("legal_person not in", values, "legalPerson");
            return (Criteria) this;
        }

        public Criteria andLegalPersonBetween(String value1, String value2) {
            addCriterion("legal_person between", value1, value2, "legalPerson");
            return (Criteria) this;
        }

        public Criteria andLegalPersonNotBetween(String value1, String value2) {
            addCriterion("legal_person not between", value1, value2, "legalPerson");
            return (Criteria) this;
        }

        public Criteria andMerchantCertificateIsNull() {
            addCriterion("merchant_certificate is null");
            return (Criteria) this;
        }

        public Criteria andMerchantCertificateIsNotNull() {
            addCriterion("merchant_certificate is not null");
            return (Criteria) this;
        }

        public Criteria andMerchantCertificateEqualTo(String value) {
            addCriterion("merchant_certificate =", value, "merchantCertificate");
            return (Criteria) this;
        }

        public Criteria andMerchantCertificateNotEqualTo(String value) {
            addCriterion("merchant_certificate <>", value, "merchantCertificate");
            return (Criteria) this;
        }

        public Criteria andMerchantCertificateGreaterThan(String value) {
            addCriterion("merchant_certificate >", value, "merchantCertificate");
            return (Criteria) this;
        }

        public Criteria andMerchantCertificateGreaterThanOrEqualTo(String value) {
            addCriterion("merchant_certificate >=", value, "merchantCertificate");
            return (Criteria) this;
        }

        public Criteria andMerchantCertificateLessThan(String value) {
            addCriterion("merchant_certificate <", value, "merchantCertificate");
            return (Criteria) this;
        }

        public Criteria andMerchantCertificateLessThanOrEqualTo(String value) {
            addCriterion("merchant_certificate <=", value, "merchantCertificate");
            return (Criteria) this;
        }

        public Criteria andMerchantCertificateLike(String value) {
            addCriterion("merchant_certificate like", value, "merchantCertificate");
            return (Criteria) this;
        }

        public Criteria andMerchantCertificateNotLike(String value) {
            addCriterion("merchant_certificate not like", value, "merchantCertificate");
            return (Criteria) this;
        }

        public Criteria andMerchantCertificateIn(List<String> values) {
            addCriterion("merchant_certificate in", values, "merchantCertificate");
            return (Criteria) this;
        }

        public Criteria andMerchantCertificateNotIn(List<String> values) {
            addCriterion("merchant_certificate not in", values, "merchantCertificate");
            return (Criteria) this;
        }

        public Criteria andMerchantCertificateBetween(String value1, String value2) {
            addCriterion("merchant_certificate between", value1, value2, "merchantCertificate");
            return (Criteria) this;
        }

        public Criteria andMerchantCertificateNotBetween(String value1, String value2) {
            addCriterion("merchant_certificate not between", value1, value2, "merchantCertificate");
            return (Criteria) this;
        }

        public Criteria andMerchantWxpayAccountIsNull() {
            addCriterion("merchant_wxpay_account is null");
            return (Criteria) this;
        }

        public Criteria andMerchantWxpayAccountIsNotNull() {
            addCriterion("merchant_wxpay_account is not null");
            return (Criteria) this;
        }

        public Criteria andMerchantWxpayAccountEqualTo(String value) {
            addCriterion("merchant_wxpay_account =", value, "merchantWxpayAccount");
            return (Criteria) this;
        }

        public Criteria andMerchantWxpayAccountNotEqualTo(String value) {
            addCriterion("merchant_wxpay_account <>", value, "merchantWxpayAccount");
            return (Criteria) this;
        }

        public Criteria andMerchantWxpayAccountGreaterThan(String value) {
            addCriterion("merchant_wxpay_account >", value, "merchantWxpayAccount");
            return (Criteria) this;
        }

        public Criteria andMerchantWxpayAccountGreaterThanOrEqualTo(String value) {
            addCriterion("merchant_wxpay_account >=", value, "merchantWxpayAccount");
            return (Criteria) this;
        }

        public Criteria andMerchantWxpayAccountLessThan(String value) {
            addCriterion("merchant_wxpay_account <", value, "merchantWxpayAccount");
            return (Criteria) this;
        }

        public Criteria andMerchantWxpayAccountLessThanOrEqualTo(String value) {
            addCriterion("merchant_wxpay_account <=", value, "merchantWxpayAccount");
            return (Criteria) this;
        }

        public Criteria andMerchantWxpayAccountLike(String value) {
            addCriterion("merchant_wxpay_account like", value, "merchantWxpayAccount");
            return (Criteria) this;
        }

        public Criteria andMerchantWxpayAccountNotLike(String value) {
            addCriterion("merchant_wxpay_account not like", value, "merchantWxpayAccount");
            return (Criteria) this;
        }

        public Criteria andMerchantWxpayAccountIn(List<String> values) {
            addCriterion("merchant_wxpay_account in", values, "merchantWxpayAccount");
            return (Criteria) this;
        }

        public Criteria andMerchantWxpayAccountNotIn(List<String> values) {
            addCriterion("merchant_wxpay_account not in", values, "merchantWxpayAccount");
            return (Criteria) this;
        }

        public Criteria andMerchantWxpayAccountBetween(String value1, String value2) {
            addCriterion("merchant_wxpay_account between", value1, value2, "merchantWxpayAccount");
            return (Criteria) this;
        }

        public Criteria andMerchantWxpayAccountNotBetween(String value1, String value2) {
            addCriterion("merchant_wxpay_account not between", value1, value2, "merchantWxpayAccount");
            return (Criteria) this;
        }

        public Criteria andMerchantAlipayAccountIsNull() {
            addCriterion("merchant_alipay_account is null");
            return (Criteria) this;
        }

        public Criteria andMerchantAlipayAccountIsNotNull() {
            addCriterion("merchant_alipay_account is not null");
            return (Criteria) this;
        }

        public Criteria andMerchantAlipayAccountEqualTo(String value) {
            addCriterion("merchant_alipay_account =", value, "merchantAlipayAccount");
            return (Criteria) this;
        }

        public Criteria andMerchantAlipayAccountNotEqualTo(String value) {
            addCriterion("merchant_alipay_account <>", value, "merchantAlipayAccount");
            return (Criteria) this;
        }

        public Criteria andMerchantAlipayAccountGreaterThan(String value) {
            addCriterion("merchant_alipay_account >", value, "merchantAlipayAccount");
            return (Criteria) this;
        }

        public Criteria andMerchantAlipayAccountGreaterThanOrEqualTo(String value) {
            addCriterion("merchant_alipay_account >=", value, "merchantAlipayAccount");
            return (Criteria) this;
        }

        public Criteria andMerchantAlipayAccountLessThan(String value) {
            addCriterion("merchant_alipay_account <", value, "merchantAlipayAccount");
            return (Criteria) this;
        }

        public Criteria andMerchantAlipayAccountLessThanOrEqualTo(String value) {
            addCriterion("merchant_alipay_account <=", value, "merchantAlipayAccount");
            return (Criteria) this;
        }

        public Criteria andMerchantAlipayAccountLike(String value) {
            addCriterion("merchant_alipay_account like", value, "merchantAlipayAccount");
            return (Criteria) this;
        }

        public Criteria andMerchantAlipayAccountNotLike(String value) {
            addCriterion("merchant_alipay_account not like", value, "merchantAlipayAccount");
            return (Criteria) this;
        }

        public Criteria andMerchantAlipayAccountIn(List<String> values) {
            addCriterion("merchant_alipay_account in", values, "merchantAlipayAccount");
            return (Criteria) this;
        }

        public Criteria andMerchantAlipayAccountNotIn(List<String> values) {
            addCriterion("merchant_alipay_account not in", values, "merchantAlipayAccount");
            return (Criteria) this;
        }

        public Criteria andMerchantAlipayAccountBetween(String value1, String value2) {
            addCriterion("merchant_alipay_account between", value1, value2, "merchantAlipayAccount");
            return (Criteria) this;
        }

        public Criteria andMerchantAlipayAccountNotBetween(String value1, String value2) {
            addCriterion("merchant_alipay_account not between", value1, value2, "merchantAlipayAccount");
            return (Criteria) this;
        }

        public Criteria andProceedsFlowDirectionIsNull() {
            addCriterion("proceeds_flow_direction is null");
            return (Criteria) this;
        }

        public Criteria andProceedsFlowDirectionIsNotNull() {
            addCriterion("proceeds_flow_direction is not null");
            return (Criteria) this;
        }

        public Criteria andProceedsFlowDirectionEqualTo(Integer value) {
            addCriterion("proceeds_flow_direction =", value, "proceedsFlowDirection");
            return (Criteria) this;
        }

        public Criteria andProceedsFlowDirectionNotEqualTo(Integer value) {
            addCriterion("proceeds_flow_direction <>", value, "proceedsFlowDirection");
            return (Criteria) this;
        }

        public Criteria andProceedsFlowDirectionGreaterThan(Integer value) {
            addCriterion("proceeds_flow_direction >", value, "proceedsFlowDirection");
            return (Criteria) this;
        }

        public Criteria andProceedsFlowDirectionGreaterThanOrEqualTo(Integer value) {
            addCriterion("proceeds_flow_direction >=", value, "proceedsFlowDirection");
            return (Criteria) this;
        }

        public Criteria andProceedsFlowDirectionLessThan(Integer value) {
            addCriterion("proceeds_flow_direction <", value, "proceedsFlowDirection");
            return (Criteria) this;
        }

        public Criteria andProceedsFlowDirectionLessThanOrEqualTo(Integer value) {
            addCriterion("proceeds_flow_direction <=", value, "proceedsFlowDirection");
            return (Criteria) this;
        }

        public Criteria andProceedsFlowDirectionIn(List<Integer> values) {
            addCriterion("proceeds_flow_direction in", values, "proceedsFlowDirection");
            return (Criteria) this;
        }

        public Criteria andProceedsFlowDirectionNotIn(List<Integer> values) {
            addCriterion("proceeds_flow_direction not in", values, "proceedsFlowDirection");
            return (Criteria) this;
        }

        public Criteria andProceedsFlowDirectionBetween(Integer value1, Integer value2) {
            addCriterion("proceeds_flow_direction between", value1, value2, "proceedsFlowDirection");
            return (Criteria) this;
        }

        public Criteria andProceedsFlowDirectionNotBetween(Integer value1, Integer value2) {
            addCriterion("proceeds_flow_direction not between", value1, value2, "proceedsFlowDirection");
            return (Criteria) this;
        }

        public Criteria andMerchantStatusIsNull() {
            addCriterion("merchant_status is null");
            return (Criteria) this;
        }

        public Criteria andMerchantStatusIsNotNull() {
            addCriterion("merchant_status is not null");
            return (Criteria) this;
        }

        public Criteria andMerchantStatusEqualTo(Integer value) {
            addCriterion("merchant_status =", value, "merchantStatus");
            return (Criteria) this;
        }

        public Criteria andMerchantStatusNotEqualTo(Integer value) {
            addCriterion("merchant_status <>", value, "merchantStatus");
            return (Criteria) this;
        }

        public Criteria andMerchantStatusGreaterThan(Integer value) {
            addCriterion("merchant_status >", value, "merchantStatus");
            return (Criteria) this;
        }

        public Criteria andMerchantStatusGreaterThanOrEqualTo(Integer value) {
            addCriterion("merchant_status >=", value, "merchantStatus");
            return (Criteria) this;
        }

        public Criteria andMerchantStatusLessThan(Integer value) {
            addCriterion("merchant_status <", value, "merchantStatus");
            return (Criteria) this;
        }

        public Criteria andMerchantStatusLessThanOrEqualTo(Integer value) {
            addCriterion("merchant_status <=", value, "merchantStatus");
            return (Criteria) this;
        }

        public Criteria andMerchantStatusIn(List<Integer> values) {
            addCriterion("merchant_status in", values, "merchantStatus");
            return (Criteria) this;
        }

        public Criteria andMerchantStatusNotIn(List<Integer> values) {
            addCriterion("merchant_status not in", values, "merchantStatus");
            return (Criteria) this;
        }

        public Criteria andMerchantStatusBetween(Integer value1, Integer value2) {
            addCriterion("merchant_status between", value1, value2, "merchantStatus");
            return (Criteria) this;
        }

        public Criteria andMerchantStatusNotBetween(Integer value1, Integer value2) {
            addCriterion("merchant_status not between", value1, value2, "merchantStatus");
            return (Criteria) this;
        }

        public Criteria andRemarkIsNull() {
            addCriterion("remark is null");
            return (Criteria) this;
        }

        public Criteria andRemarkIsNotNull() {
            addCriterion("remark is not null");
            return (Criteria) this;
        }

        public Criteria andRemarkEqualTo(String value) {
            addCriterion("remark =", value, "remark");
            return (Criteria) this;
        }

        public Criteria andRemarkNotEqualTo(String value) {
            addCriterion("remark <>", value, "remark");
            return (Criteria) this;
        }

        public Criteria andRemarkGreaterThan(String value) {
            addCriterion("remark >", value, "remark");
            return (Criteria) this;
        }

        public Criteria andRemarkGreaterThanOrEqualTo(String value) {
            addCriterion("remark >=", value, "remark");
            return (Criteria) this;
        }

        public Criteria andRemarkLessThan(String value) {
            addCriterion("remark <", value, "remark");
            return (Criteria) this;
        }

        public Criteria andRemarkLessThanOrEqualTo(String value) {
            addCriterion("remark <=", value, "remark");
            return (Criteria) this;
        }

        public Criteria andRemarkLike(String value) {
            addCriterion("remark like", value, "remark");
            return (Criteria) this;
        }

        public Criteria andRemarkNotLike(String value) {
            addCriterion("remark not like", value, "remark");
            return (Criteria) this;
        }

        public Criteria andRemarkIn(List<String> values) {
            addCriterion("remark in", values, "remark");
            return (Criteria) this;
        }

        public Criteria andRemarkNotIn(List<String> values) {
            addCriterion("remark not in", values, "remark");
            return (Criteria) this;
        }

        public Criteria andRemarkBetween(String value1, String value2) {
            addCriterion("remark between", value1, value2, "remark");
            return (Criteria) this;
        }

        public Criteria andRemarkNotBetween(String value1, String value2) {
            addCriterion("remark not between", value1, value2, "remark");
            return (Criteria) this;
        }

        public Criteria andCompanyKeyIsNull() {
            addCriterion("company_key is null");
            return (Criteria) this;
        }

        public Criteria andCompanyKeyIsNotNull() {
            addCriterion("company_key is not null");
            return (Criteria) this;
        }

        public Criteria andCompanyKeyEqualTo(String value) {
            addCriterion("company_key =", value, "companyKey");
            return (Criteria) this;
        }

        public Criteria andCompanyKeyNotEqualTo(String value) {
            addCriterion("company_key <>", value, "companyKey");
            return (Criteria) this;
        }

        public Criteria andCompanyKeyGreaterThan(String value) {
            addCriterion("company_key >", value, "companyKey");
            return (Criteria) this;
        }

        public Criteria andCompanyKeyGreaterThanOrEqualTo(String value) {
            addCriterion("company_key >=", value, "companyKey");
            return (Criteria) this;
        }

        public Criteria andCompanyKeyLessThan(String value) {
            addCriterion("company_key <", value, "companyKey");
            return (Criteria) this;
        }

        public Criteria andCompanyKeyLessThanOrEqualTo(String value) {
            addCriterion("company_key <=", value, "companyKey");
            return (Criteria) this;
        }

        public Criteria andCompanyKeyLike(String value) {
            addCriterion("company_key like", value, "companyKey");
            return (Criteria) this;
        }

        public Criteria andCompanyKeyNotLike(String value) {
            addCriterion("company_key not like", value, "companyKey");
            return (Criteria) this;
        }

        public Criteria andCompanyKeyIn(List<String> values) {
            addCriterion("company_key in", values, "companyKey");
            return (Criteria) this;
        }

        public Criteria andCompanyKeyNotIn(List<String> values) {
            addCriterion("company_key not in", values, "companyKey");
            return (Criteria) this;
        }

        public Criteria andCompanyKeyBetween(String value1, String value2) {
            addCriterion("company_key between", value1, value2, "companyKey");
            return (Criteria) this;
        }

        public Criteria andCompanyKeyNotBetween(String value1, String value2) {
            addCriterion("company_key not between", value1, value2, "companyKey");
            return (Criteria) this;
        }

        public Criteria andIsDeletedIsNull() {
            addCriterion("is_deleted is null");
            return (Criteria) this;
        }

        public Criteria andIsDeletedIsNotNull() {
            addCriterion("is_deleted is not null");
            return (Criteria) this;
        }

        public Criteria andIsDeletedEqualTo(Integer value) {
            addCriterion("is_deleted =", value, "isDeleted");
            return (Criteria) this;
        }

        public Criteria andIsDeletedNotEqualTo(Integer value) {
            addCriterion("is_deleted <>", value, "isDeleted");
            return (Criteria) this;
        }

        public Criteria andIsDeletedGreaterThan(Integer value) {
            addCriterion("is_deleted >", value, "isDeleted");
            return (Criteria) this;
        }

        public Criteria andIsDeletedGreaterThanOrEqualTo(Integer value) {
            addCriterion("is_deleted >=", value, "isDeleted");
            return (Criteria) this;
        }

        public Criteria andIsDeletedLessThan(Integer value) {
            addCriterion("is_deleted <", value, "isDeleted");
            return (Criteria) this;
        }

        public Criteria andIsDeletedLessThanOrEqualTo(Integer value) {
            addCriterion("is_deleted <=", value, "isDeleted");
            return (Criteria) this;
        }

        public Criteria andIsDeletedIn(List<Integer> values) {
            addCriterion("is_deleted in", values, "isDeleted");
            return (Criteria) this;
        }

        public Criteria andIsDeletedNotIn(List<Integer> values) {
            addCriterion("is_deleted not in", values, "isDeleted");
            return (Criteria) this;
        }

        public Criteria andIsDeletedBetween(Integer value1, Integer value2) {
            addCriterion("is_deleted between", value1, value2, "isDeleted");
            return (Criteria) this;
        }

        public Criteria andIsDeletedNotBetween(Integer value1, Integer value2) {
            addCriterion("is_deleted not between", value1, value2, "isDeleted");
            return (Criteria) this;
        }
    }

    public static class Criteria extends GeneratedCriteria {

        protected Criteria() {
            super();
        }
    }

    public static class Criterion {
        private String condition;

        private Object value;

        private Object secondValue;

        private boolean noValue;

        private boolean singleValue;

        private boolean betweenValue;

        private boolean listValue;

        private String typeHandler;

        public String getCondition() {
            return condition;
        }

        public Object getValue() {
            return value;
        }

        public Object getSecondValue() {
            return secondValue;
        }

        public boolean isNoValue() {
            return noValue;
        }

        public boolean isSingleValue() {
            return singleValue;
        }

        public boolean isBetweenValue() {
            return betweenValue;
        }

        public boolean isListValue() {
            return listValue;
        }

        public String getTypeHandler() {
            return typeHandler;
        }

        protected Criterion(String condition) {
            super();
            this.condition = condition;
            this.typeHandler = null;
            this.noValue = true;
        }

        protected Criterion(String condition, Object value, String typeHandler) {
            super();
            this.condition = condition;
            this.value = value;
            this.typeHandler = typeHandler;
            if (value instanceof List<?>) {
                this.listValue = true;
            } else {
                this.singleValue = true;
            }
        }

        protected Criterion(String condition, Object value) {
            this(condition, value, null);
        }

        protected Criterion(String condition, Object value, Object secondValue, String typeHandler) {
            super();
            this.condition = condition;
            this.value = value;
            this.secondValue = secondValue;
            this.typeHandler = typeHandler;
            this.betweenValue = true;
        }

        protected Criterion(String condition, Object value, Object secondValue) {
            this(condition, value, secondValue, null);
        }
    }
}